var application;

Ext.onReady(function()
	{
	    Ext.BLANK_IMAGE_URL = _PHP_.url.incroot+'js/extjs/ext-2.2.1/resources/images/default/s.gif';
		Ext.QuickTips.init();
		
		Ext.util.CSS.createStyleSheet('.x-tool-help {background-image:url('+_PHP_.url.incroot+'js/extjs/ext-2.2.1/resources/images/default/panel/tool-sprites.gif) !important; }', 'helpCSS');

		application = new Ext.Window
			({
				resizable: false,
				draggable: false,
				closable: false,
				width: 600,
				
				items:
					[
					    new Ext.form.FormPanel
					    	({
						        url: _PHP_.form.url.submit,
						        method: 'post',
						        
						        title: _PHP_.form.title,
						        fileUpload: true,
						        frame: true,
						        
						        bodyStyle: 'padding: 5px 0 5px 0',
						        height: 'auto',
						        labelWidth: 75,
						        
						        defaults:
						        	{
										blankText: 'Este campo é obrigatário',
						        	 	maxLengthText: 'Limite do campo: {0} caracteres',
										maxLength: 255,
										width: '95%'
									},
						        	
						        buttons:
							        [
								        {
								            text: 'Salvar',
								            handler: function()
									            {
													if(this.form.isValid())
													{
														if(!this.hasListener('beforeaction'))
														{
															this.doSubmit();
														}
														else
														{
															this.fireEvent('beforeaction');
														}	
													}
													else
													{
														Ext.MessageBox.alert('Erro', 'Por favor preencha os campos indicados.');
													}
												}
								        },
								        {
								            text: 'Voltar',
								            handler: function()
									            {
													document.location.href = _PHP_.form.url.back;
												}
								        }
							        ],
								monitorResize: false,
								doSubmit: function(url)
							        {
							            var _self = this;
										this.form.submit
											({
												url: (url ? url : null),
												waitTitle: 'Processando ...',
												waitMsg: 'Aguarde',
												success: function(form, action)
													{
														var response = Ext.util.JSON.decode(action.response.responseText); 
														//alert(action.response.responseText); return false;
														
														if(response.success === 'true')
														{
															if(!_self.hasListener('actioncomplete'))
															{
																Ext.MessageBox.wait('Aguarde', 'Processando ...');
																window.location = response.redirect;
															}
															else
															{
																_self.fireEvent('actioncomplete', response);
															}
														}
														else
														{
															Ext.MessageBox.alert('Erro', response.erro);
														}
													},
												failure: function(form, action)
													{
														Ext.MessageBox.alert('Erro', 'Não foi possivel conectar-se com o servidor, por favor tente novamente');
													}
											});
							        },
								listeners: 
									{
										'render': function(_self)
											{
												this.form._parent = this;
												
												for (var index in this.buttons) 
												{
													this.buttons[index].scope = this;
												}
											}
									}
						    })
					],
				tools:
					[{
						id: 'help',
						handler: function()
							{
								if(!application.ajudaWin)
								{
									application.ajudaWin = new Ext.Window
										({
						                    title: 'Licença',
											bodyStyle: 'padding: 10px; text-align: justify;',
						                    resizable: false,
						                    minimizable: false,
						                    maximizable: false,
						                    stateful: false,
						                    modal: true,
						                    shim: true,
						                    width:400,
						                    minHeight: 80,
						                    border: false,
						                    closable: true,
											closeAction: 'hide',
											html: '<p>Essa aplicação faz uso gratuito da biblioteca Javascript ExtJS. Em respeito aos termos da licença GPL 3, estabelecidos nos termos do tipo de uso em questão, os códigos fontes das partes desse sistema que fazem uso dessa biblioteca, estão licenciados também pela GPL 3 e podem ser baixados em: <a href="http://code.google.com/p/conectas/" target="_blank">http://code.google.com/p/conectas/</a></p>'
										});
								}
								
								application.ajudaWin.show();
							}
					}],
				listeners:
					{
						'render': function(_self)
							{
								this.form = this.items.get(0);
								this.form._parent = this;
							}
					}
			});
		
		if(window.row && window.row.init) row.init();
		if(window._PHP_ && window._PHP_.onload) _PHP_.onload();
	});